<?php
/**
 * Author：晴天 QQ：1186258278
 * Creation：2020/5/30 14:07
 * Filename：VerificationCode.php
 * 验证码操作类
 */

namespace extend;


class VerificationCode
{

    /**
     * @param string $Name
     * @param int $num
     * @param int $w
     * @param int $h
     * 创建随机验证码
     */
    public static function RandomVerificationCode($code, $Name = 'logins', $num = 5, $w = 70, $h = 25)
    {
        header("Content-type: image/PNG");

        $im = imagecreate($w, $h);

        $black = imagecolorallocate($im, 0, 0, 0);

        $gray = imagecolorallocate($im, 255, 255, 255);

        imagefill($im, 0, 0, $gray);

        imagerectangle($im, 0 - 1, 0 - 1, $w - 0, $h - 0, $black);

        $style = array($black, $black, $black, $black, $black,

            $gray, $gray, $gray, $gray, $gray

        );

        imagesetstyle($im, $style);

        $y1 = rand(0, $h);

        $y2 = rand(0, $h);

        $y3 = rand(0, $h);

        $y4 = rand(0, $h);

        imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);

        imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);

        for ($i = 0; $i < rand(50, 80); $i++) {

            imagesetpixel($im, rand(0, $w), rand(0, $h), $black);

        }
        $strx = rand(3, 8);

        for ($i = 0; $i < $num; $i++) {

            $strpos = rand(1, 6);

            imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);

            $strx += rand(8, 12);

        }
        imagepng($im);
        imagedestroy($im);
    }

}